GitHub Flow
GitHub Flow (Japanese translation) · GitHub
上記Pageを紐解いて、このPageにメモを残しておく
世の中にはgit-flowがあるらしい
よりシンプルなgitワークフローとしてGitHub Flowを制定しているみたい
常にdeployをする場合はgit-flowを利用しないらしい
git-flowは「release」を中心に設計されているう
Githubでは日に何回もdeployをしていて、releaseという概念がない
具体的にGitHub Flowとは
master ブランチにあるものはなんでもdeploy可能とする
master branchが巻き戻されることは非常に稀
新機能はmaster ブランチから作成する。説明的な名前のブランチを
fetchすると「他の人が現在作業しているtopic」を知ることができる
他の作業から戻った時も、何を敷いていたかすぐに思い出せる
作成したブランチにローカルでcommitする。remoteにも定期的にpushする
ここがgit-flowと違う
deployされるのはmasterだけなので、他のbranchが増えても気にならない
remoteに定期的にpushすることで
「PC紛失」などのriskが低減される
member内で定期的にcommunicationされるようになる
git fetchが、他のmemberがしている作業のTodoリストになる
pull requestを作成するのは局所的
feedback, adviceがほしいとき
branchをmergeしても良いと思った時
これもgit-flowにはない機能
Githubでは、チャットとしてpull requestsを使っている
feedback, adviceを求めるのにも使えるのは画期的
master branchへのmerge以外のために使うことが多い
reviewでOK出たらmasterにいmergeできる
誰であっても良い。review下なら
mergeしてmasterへpushしたら、直ちにdeployする
all branch でtestが実行され、chat roomに報告される
testはJenkinsで行うこともできる